﻿/***************************---------   js常用公共方法    -----------*******************************/


//js 控制输入框只允许输入数值
//调用实例：<input type="text" onkeyup="CheckNum(this);" onblur="CheckNum(this);" />            
function CheckNum(obj) { // 值允许输入一个小数点和数字
    obj.value = obj.value.replace(/[^\d.]/g, ""); //先把非数字的都替换掉，除了数字和. 
    obj.value = obj.value.replace(/^\./g, ""); //必须保证第一个为数字而不是. 
    obj.value = obj.value.replace(/\.{2,}/g, "."); //保证只有出现一个.而没有多个. 
    obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); //保证.只出现一次，而不能出现两次以上 
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
}


//获取指定日期一月的天数
function maxDay(date) {
    //字符串日期格式"2020-12-12"
    var sDate = date;
    //转换为日期
    var startDate = new Date(sDate)
    var endDate = startDate.setMonth(startDate.getMonth() + 1);
    endDate = formatDate(endDate);
    var days = daysBetween(sDate, endDate);
    return days;
}
//指定日期获取一个月
function formatDate(date) {
    var date = new Date(date);
    var YY = date.getFullYear() + '-';
    var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var DD = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
    return YY + MM + DD;
}
//计算两日期天数
function daysBetween(sDate1, sDate2) {
    var time1 = Date.parse(new Date(sDate1));
    var time2 = Date.parse(new Date(sDate2));
    var nDays = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
    return nDays;
};